package org.nyt.medicalstore.repository;

import org.nyt.medicalstore.model.Inventory;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.util.Date;
import java.util.List;

public interface InventoryRepository extends JpaRepository<Inventory, Long> {
    // 查询库存不足的药品
    List<Inventory> findByIsLowStockTrue();
    
    // 查询即将过期的药品
    List<Inventory> findByIsExpiringTrue();
    
    // 查询指定天数内即将过期的药品
    @Query("SELECT i FROM Inventory i WHERE i.expiryDate <= :warningDate")
    List<Inventory> findExpiringDrugs(@Param("warningDate") Date warningDate);
    
    // 查询库存低于指定数量的药品
    @Query("SELECT i FROM Inventory i WHERE i.quantity <= i.minQuantity")
    List<Inventory> findLowStockDrugs();
} 